package models

import "time"

type MediaAsset struct {
    ID            uint      `gorm:"primaryKey" json:"id"`
    OriginalPath  string    `gorm:"size:255;not null" json:"original_path"`
    PreviewPath   string    `gorm:"size:255;not null" json:"preview_path"`
    ThumbPath     string    `gorm:"size:255;not null;default:''" json:"thumb_path"`
    MimeType      string    `gorm:"size:100;not null" json:"mime_type"`
    OriginalSize  uint64    `gorm:"not null;default:0" json:"original_size"`
    PreviewSize   uint64    `gorm:"not null;default:0" json:"preview_size"`
    ThumbSize     uint64    `gorm:"not null;default:0" json:"thumb_size"`
    Width         uint      `gorm:"not null;default:0" json:"width"`
    Height        uint      `gorm:"not null;default:0" json:"height"`
    PreviewWidth  uint      `gorm:"not null;default:0" json:"preview_width"`
    PreviewHeight uint      `gorm:"not null;default:0" json:"preview_height"`
    ThumbWidth    uint      `gorm:"not null;default:0" json:"thumb_width"`
    ThumbHeight   uint      `gorm:"not null;default:0" json:"thumb_height"`
    CreatedAt     time.Time `json:"created_at"`
}

func (MediaAsset) TableName() string {
	return "media_assets"
}
